iT邦幫忙

2022 iThome 鐵人賽

DAY 16
1
Security

建構安全軟體開發系列 第 16

建構安全軟體開發 EP 16

  • 分享至 

  • xImage
  •  

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

本篇是 建構安全軟體開發 系列文的 EP16。


安全軟體的架構與設計

建構威脅模型

Adversarial Tactics, Techniques and Common Knowledge (ATT & CK) Framework

透過使用既有的 ATT & CK Framework 可有效的協助組織量測安全程式並加強策略來防範、偵測與回應威脅。

常見的 ATT & CK Framework 的手法可能有以下幾種:

  • Adversary Emulation (敵我模擬扮演)
  • Red Teaming (紅隊滲透演練)
  • Behavioral Analytics Development (行為分析開發)
  • Defensive Gap Assessment (縱深防禦評估)
  • SOC(Security Operation Center) Maturity Assessment (資通安全威脅偵測成熟度評估)
  • Cyber Threat Intelligence Enrichment (網路威脅對應複雜度)

如果要針對上述列舉的各種演練可以了解 CALDERA 的運用。
CALDERA

Advanced Persistent Threat (APT)

此詞彙由 NIST 定義的描述 來看:

An adversary with sophisticated levels of expertise and significant resources, allowing it through the use of multiple different attack vectors (e.g., cyber, physical, and deception), to generate opportunities to achieve its objectives which are typically to establish and extend its presence within the information technology infrastructure of organizations for purposes of continually exfiltrating information and/or to undermine or impede critical aspects of a mission, program, or organization, or place itself in a position to do so in the future; moreover, the advanced persistent threat pursues its objectives repeatedly over an extended period of time, adapting to a defender’s efforts to resist it, and with determination to maintain the level of interaction needed to execute its objectives.

其定義的綜合來源於 NIST 下列各文件:
NIST APT Sources

感覺 NIST 在定義 APT 這個詞的描述概念又臭又長,但個人感覺其簡化說法就是:
在這世界中有一群可能是由國家、犯罪集團所組成的壞蛋們 (Adversaries),會一直持續不間斷的製造各種威脅,準備各種手段滲透。而當這些壞蛋們改變或進化其威脅時,應該就要進行應對的調整以防範。

而目前類似這樣定義的 APT 且有被明確列舉出來的團體共有 133 個:
APT Groups

可參考下列網址:
https://attack.mitre.org/groups/

列出來的每個團體,考慮到其文化、國情、信仰...等狀況的不同,可能擅長使壞的方向就有所不同。

當然,不排除這是以 "美國" 出發的觀點來看,這些團體是 APT,但若換位思考仔細想想,其實美國政府自己本身可能就很多組織也是都是 APT 的概念。

這樣說起來 APT 的概念很虛無縹緲,也不知道這些團體何時會發動威脅或滲透,所以實務上其實還是要回到 EP10 所介紹 CAPEC 當中 Threat 手法來進行指引的設計。

Insider Threat (內部威脅)

內部威脅 不僅僅只有來自組織的成員去惡意直接造成的傷害,很多案例與報告都指出是忽略或不帶惡意違反其安全規範,進而造成損害事件。

所以,內部威脅可以是任何潛在內部的濫用,進而造成損害的人、事、物。

常見的惡意程式型態

  • Virus (病毒):
    可自我複製並感染其他檔案的一種可執行檔,也可能透過連線感染其他裝置,並使得被感染的裝置執行出錯或無法正常使用。

  • Worm (蠕蟲):
    相對於 Virus(病毒),Worm (蠕蟲) 比較傾向透過連線網路感染,並透過一些特殊的操作控制傳播。

  • Trojan (木馬):
    一種被設計的惡意程式但跟上述兩者較為不同的是自我複製與傳播的程度,通常木馬會在感染的裝置上建立後門,以利惡意使用者進行破壞或竊取資訊。

  • Ransomware (勒鎖程式/軟體):
    透過加密手法迫使感染的裝置或裝置上的資料無法使用,並有其目的性的取得解密手段。

  • Spyware and Adware (間諜軟體/廣告):
    通常被設計來竊取敏感資訊或宣傳其特殊目的的程式。

  • Bots (機器人/爬蟲程式):
    也許 Bots 不會直接進行傷害活動,但會進行特定的任務,例如網路爬蟲探訪網站資料,而惡意的 Bots 可能配合遠端指令進行 DoS 攻擊,並造成系統服務緩慢甚至中斷。

第三方軟體/元件威脅

在資訊系統或開發程式的過程中,免不了使用到第三方軟體/元件,但很有可能因為第三方軟體/元件的問題,造成系統的損害。到目前為止 第三方軟體/元件 一定都會需要在安全風險當中進行討論其威脅問題。

例如:
Critical PHPMailer Flaw leaves Millions of Websites Vulnerable to Remote Exploit

若需要進一步了解 "PHPMailer 的安全性問題",可至下列連結觀看 iThome 的專文分析報導:
https://www.ithome.com.tw/guest-post/110934

而為了降低其 第三方軟體/元件 的安全威脅,請積極的執行下列作為:

  • 移除系統當中不必要的第三方軟體與元件。
  • 當發現有相關的弱點時,務必盡早更新與修補漏洞。
  • 清楚的了解所使用到的外部軟體與元件的意義與確認與其互動的安全性。
  • 維持正當取用 "第三方軟體/元件" 的授權管道,並限制非授權的使用。
  • 透過管制或限制連線與通訊的使用,減少可攻擊面積。

不過簡單來說,就是要去建立起零信任基礎 (Zero Trust) 的安全觀點,以減少第三方軟體/元件造成的破壞的風險。

不定期查探所有的第三方軟體/元件的互動與使用模式是否安全,即使是已經曾被認為是安全的第三方軟體/元件也是一樣,才不會造成系統中存在既有的安全性漏洞而未發現。

如果有興趣了解零信任基礎 (Zero Trust) 的觀點可閱讀,微軟的白皮書整理:
https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWJJdT



上一篇
建構安全軟體開發 EP 15
下一篇
建構安全軟體開發 EP 17
系列文
建構安全軟體開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言